package com.qining618.cms.cms.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * CMS评论表
 * </p>
 *
 * @author qining
 * @date 2019-09-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("c_comment")
public class Comment implements Serializable {

    private static final long serialVersionUID=1L;

    /**
     * 主键
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 评论用户id
     */
    @TableField("`comment_user_id`")
    private Long commentUserId;

    /**
     * 回复用户id
     */
    @TableField("`reply_user_id`")
    private Long replyUserId;

    /**
     * 内容id
     */
    @TableField("`content_id`")
    private Long contentId;

    /**
     * 是否推荐 1是 0否
     */
    @TableField("`is_recommend`")
    private Boolean isRecommend;

    /**
     * 是否审核 1是 0否
     */
    @TableField("`is_checked`")
    private Boolean isChecked;

    /**
     * 支持数
     */
    @TableField("`ups`")
    private Integer ups;

    /**
     * 反对数
     */
    @TableField("`downs`")
    private Integer downs;

    /**
     * 回复时间
     */
    @TableField("`reply_time`")
    private Date replyTime;

    /**
     * 评分
     */
    @TableField("`score`")
    private Integer score;

    /**
     * 父级评论
     */
    @TableField("`parent_id`")
    private Long parentId;

    /**
     * 回复数
     */
    @TableField("`reply_count`")
    private Integer replyCount;

    /**
     * IP地址
     */
    @TableField("`ip`")
    private String ip;

    /**
     * 评论内容
     */
    @TableField("`text`")
    private String text;

    /**
     * 回复内容
     */
    @TableField("`reply_text`")
    private String replyText;

    /**
     * 创建时间
     */
    @TableField("`ctime`")
    private Date ctime;

    /**
     * 修改时间
     */
    @TableField("`mtime`")
    private Date mtime;

    public void init() {
        if (getParentId() == null) {
            setParentId(0L);
        }
        if (getDowns() == null) {
            setDowns(0);
        }
        if (getUps() == null) {
            setUps(0);
        }
        if (getReplyCount() == null) {
            setReplyCount(0);
        }
        if (getIsChecked() == null) {
            setIsChecked(false);
        }
        if (getIsRecommend() == null) {
            setIsRecommend(false);
        }
    }

}
